The present subject matter involves concepts from distinct areas of computational linguistics, artificial-artificial intelligence and evolutionary algorithms.
Computational linguistics is commonly understood as statistical or rule-based modeling of natural language from a computational perspective. Computational linguistics involves computational models of various kinds of linguistic patterns and/or phenomena. These models may be “knowledge-based” (“hand-crafted” or “heuristic”) or “data-driven” (“statistical” or “empirical”). Computational linguistics can be used both in analyzing language (recognition) or synthesizing language (generation). There is ongoing interest in both areas, including using computational linguistics as part of an artificial intelligence (AI) that synthesizes language to create textual content.
Artificial-Artificial Intelligence (AAI) are methods through which a computer can “ask” humans to perform tasks, which can be helpful in areas where computers are deemed unsuitable or where programming has otherwise not reached a level of proficiency for performing the task. Some areas where AAI may find applicability considering the current state of technology include evaluating beauty, translating text and finding specific objects in photos. One example of such a system is Amazon.com's® Mechanical TURK (MTURK), which enables companies to programmatically access a diverse, on-demand workforce through an Internet portal to accomplish specified tasks.
An evolutionary algorithm (EA) is a subset of evolutionary computation, that uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem may be evaluated by a “fitness function” to determine the quality of the solutions. Evolution of the population then takes place after the repeated application of the process. For example, each design solution may be awarded a score to indicate how close the design solution is to meeting the overall specification. The score may be generated by applying the fitness function to results obtained from that solution. After each round of simulation, a number of the “worst” design solutions may be removed, and new design solutions may be created based on the “best” design solutions, which, over time, may result in populations of improved solution(s).
Today, some aspects of these ideas are being used individually, in primitive forms, to generate products or other content. However, lack of popularity of these items, and lack of broad adoption by companies to use such software, indicates that the quality and aesthetic appeal of the work is poor.
As such, there are continuing needs for systems and methods that generate high quality creative goods and/or content.